diff --git a/anrui-management/anrui-management-ui/src/api/Common/dictcommons.js b/anrui-management/anrui-management-ui/src/api/Common/dictcommons.js
new file mode 100644
index 0000000000..f550a2c286
--- /dev/null
+++ b/anrui-management/anrui-management-ui/src/api/Common/dictcommons.js
@@ -0,0 +1,366 @@
+import request from '@/utils/request'
+
+export function typeValues(data) {
+ return request({
+ url: '/portal/v1/dictcommons/typeValues',
+ method: 'get',
+ params: data
+ })
+}
+
+// 获取数据字典(根据分组)
+export function getTypeValueList(data) {
+ return request({
+ url: '/portal/v1/dictcommons/getTypeValueList',
+ method: 'get',
+ params: data
+ })
+}
+
+// 获取所有分公司
+export function selectOrgSidList(data) {
+ return request({
+ url: '/portal/v1/sysorganization/selectOrgSidList',
+ method: 'get',
+ params: data
+ })
+}
+
+// 根据当前登录人orgSidPath(全路径sid)查询分公司
+export function getOrgSidByPath(data) {
+ return request({
+ url: '/portal/v1/sysstafforg/getOrgSidByPath',
+ method: 'get',
+ params: data
+ })
+}
+
+// 根据分公司sid查询分公司
+export function fetchBySid(sid) {
+ return request({
+ url: '/portal/v1/sysorganization/fetchBySid/' + sid,
+ method: 'get'
+ })
+}
+
+// 根据分公司全路径Sid获取分公司下开票信息(采购系统不能为空)
+// 开票单位
+export function getInvoicingList(data) {
+ return request({
+ url: '/fin/v1/fincompanyinvoicing/getInvoicingList',
+ method: 'GET',
+ params: data
+ })
+}
+
+// 根据分公司Sid获取分公司下所有的部门
+export function getListDeptByOrgSid(data) {
+ return request({
+ url: '/portal/v1/sysorganization/getListDeptByOrgSid/' + data,
+ method: 'GET'
+ })
+}
+
+// 根据分公司Sid获取分公司下部门对应的采购系统
+export function fetchDetailsByUseOrgSid(data) {
+ return request({
+ url: '/base/v1/basepurchasesystem/fetchDetailsByUseOrgSid/' + data,
+ method: 'GET'
+ })
+}
+
+// 根据部门sid查询部门信息
+export function fetchByDepSid(data) {
+ return request({
+ url: '/portal/v1/sysorganization/selectBySid',
+ method: 'get',
+ params: data
+ })
+}
+
+// 查当前部门所属一级站内的所有合作二级站
+export function tranFive(data) {
+ return request({
+ url: '/portal/v1/sysorganization//tranFive/' + data,
+ method: 'GET'
+ })
+}
+
+// 调出一级站-调入当前一级站内所有二级站
+export function tranOne(data) {
+ return request({
+ // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
+ url: '/portal/v1/sysorganization/tranOne/' + data,
+ method: 'GET'
+ })
+}
+
+// 调出一级站-调入当前分公司内所有一级站,不包含自身
+export function tranTwo(data) {
+ return request({
+ // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
+ url: '/portal/v1/sysorganization/tranTwo/' + data,
+ method: 'GET'
+ })
+}
+
+// 调出一级站-调入当前选择分公司内所有一级站,不包含自身
+export function tranThree(data) {
+ return request({
+ // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
+ url: '/portal/v1/sysorganization/tranThree/' + data.sid + "/" + data.deptSid,
+ method: 'GET',
+ })
+}
+
+// 调出二级站-调入上级一级站内所有二级站,不包含自身
+export function tranfour(data) {
+ return request({
+ // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
+ url: '/portal/v1/sysorganization/tranfour/' + data,
+ method: 'GET'
+ })
+}
+
+// 获取所有岗位
+export function postName(data) {
+ return request({
+ url: '/portal/v1/syspost/selectList',
+ method: 'get',
+ params: data
+ })
+}
+
+// 根据当前登录用户sid获取本分公司下的销售部门和销售专员
+export function selectOrgList(data) {
+ return request({
+ url: '/portal/v1/sysorganization/selectOrgList',
+ method: 'get',
+ params: data
+ })
+}
+
+// 根据当前登录用户的全路径查询财务部门下的所有人
+export function selFianceByOrgSidPath(data) {
+ return request({
+ // baseURL: "http://127.0.0.1:4523/m1/4061550-0-default",
+ url: '/portal/v1/sysstafforg/selFianceByOrgSidPath',
+ method: 'post',
+ params: data
+ })
+}
+
+// 根据当前登录用户部门sid获取本部门下角色为维修技师的人员
+export function getUserByDeptSid(data) {
+ return request({
+ url: '/portal/v1/sysuser/getUserByDeptSid',
+ method: 'get',
+ params: data
+ })
+}
+
+// 当前用户创建申请时判断该用户是否有该菜单的操作权限
+export function selectHaveMessage(data) {
+ return request({
+ url: '/portal/v1/sysuser/selectHaveMessage ',
+ method: 'post',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 根据当前登录用户的角色获取菜单分页列表页面右上角按钮的隐藏
+export function getButtonPermissions(data) {
+ return request({
+ url: '/portal/v1/sysfunction/getButtonPermissions',
+ method: 'post',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 获取集团所有在职人员
+export function selectStaffListss() {
+ return request({
+ url: '/portal/v1/sysstaffinfo/selectStaffListss',
+ method: 'get'
+ })
+}
+
+// 根据当前登录用户的全路径查询相应部门下的所有人
+export function selAllByOrgSidPath(data) {
+ return request({
+ url: '/portal/v1/sysstafforg/selAllByOrgSidPath',
+ method: 'post',
+ params: data
+ })
+}
+
+// 分公司全路径sid获取工种
+export function getServiceType(data) {
+ return request({
+ url: '/as/v1/AsServiceItem/getServiceType',
+ method: 'get',
+ params: data
+ })
+}
+
+// 分公司全路径sid获取科目
+export function selSubjectInfo(data) {
+ return request({
+ url: '/as/v1/asservicepackage/selSubjectInfo',
+ method: 'get',
+ params: data
+ })
+}
+
+// 分公司全路径sid获取班组
+export function getGroupList(data) {
+ return request({
+ url: '/as/v1/asservicegroup/getGroupList',
+ method: 'post',
+ params: data
+ })
+}
+
+// 部门sid获取索赔厂家
+export function getListByUseOrgSid(data) {
+ return request({
+ url: '/as/v1/asserviceclaimanu/getListByUseOrgSid',
+ method: 'get',
+ params: data
+ })
+}
+
+// 部门sid获取维修项目(已备案且已启用的)
+export function getServiceItemListPage(data) {
+ return request({
+ url: '/as/v1/AsServiceItem/getServiceItemListPage',
+ method: 'post',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 查询分页列表 -- 客户列表
+export function customerList(params) {
+ return request({
+ url: '/as/v1/ascustomervehicle/customerList',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 获取省
+export function getProvince() {
+ return request({
+ url: '/portal/v1/regions/getProvince',
+ method: 'get'
+ })
+}
+// 根据省sid获取该省的所有市
+export function getCity(data) {
+ return request({
+ url: '/portal/v1/regions/getCity',
+ method: 'get',
+ params: data
+ })
+}
+// 根据市sid获取该市的所有县区
+export function getCounty(data) {
+ return request({
+ url: '/portal/v1/regions/getCounty',
+ method: 'get',
+ params: data
+ })
+}
+
+// 获取售后服务--基础信息--供应商信息
+// 开票名称
+export function choiceSupplierInfo(data) {
+ return request({
+ url: '/pms/v1/pmssupplierinfo/choiceSupplierInfo',
+ method: 'post',
+ params: data
+ })
+}
+
+// 查询分页列表 -- 商品列表 -- 从商品管理中获取数据
+export function chooseproducts(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodssku/getGoodsListPage',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 查询分页列表 -- 商品列表 -- 从商品售价列表中获取数据
+export function listPageSales(params) {
+ return request({
+ url: '/sms/apiadmin/v1/smssalesbill/listPageSales',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 查询分页列表 -- 商品列表 -- 根据部门sid从库存商品中获取
+export function selInvenGoodsByUseOrgSid(params) {
+ return request({
+ url: '/wms/apiadmin/inventory/wmsinventory/selInvenGoodsByUseOrgSid',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 查询分页列表 -- 商品列表
+export function getInventoryList(params) {
+ return request({
+ url: '/wms/apiadmin/WmsOutBill/getInventoryList',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+
+// 查询分页列表 -- 维修工单列表
+export function getAsBusrepairBill(params) {
+ return request({
+ url: '/as/v1/AsBusrepairBill/listPage',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
+// 查询分页列表 --商品类别列表
+export function getGoodsCategory(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodstype/selectByUseOrgSid',
+ method: 'post',
+ data: params,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+}
diff --git a/anrui-management/anrui-management-ui/src/api/commodity/commodity.js b/anrui-management/anrui-management-ui/src/api/commodity/commodity.js
new file mode 100644
index 0000000000..1907d1853e
--- /dev/null
+++ b/anrui-management/anrui-management-ui/src/api/commodity/commodity.js
@@ -0,0 +1,75 @@
+import request from '@/utils/request'
+
+export default {
+ // 查询分页列表
+ listPage: function(data) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsspu/oaGoodsListPage',
+ method: 'post',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+ },
+ // 商品-- 删除
+ deleteBySids: function(data) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsspu/delGoodsBySids',
+ method: 'DELETE',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+ },
+ // 初始化
+ initGoods: function(data) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsspu/goodsDetails/' + data,
+ method: 'get'
+ })
+ },
+ saveOrUpdate: function(data) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsspu/saveOrUpdateOaGoods',
+ method: 'post',
+ data: data,
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ })
+ },
+ // 计量单位查询
+ getUnit: function(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsunit/listAll',
+ method: 'get',
+ params: params
+ })
+ },
+ // 厂家查询
+ getFacturer: function(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basemanufacturer/listAll',
+ method: 'get',
+ params: params
+ })
+ },
+ // 商品类别查询
+ getType: function(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodstype/listAll',
+ method: 'get',
+ params: params
+ })
+ },
+ // 商品品牌查询
+ getBrand: function(params) {
+ return request({
+ url: '/yxtbase/apiadmin/base/basegoodsbrand/listAll',
+ method: 'get',
+ params: params
+ })
+ },
+}
diff --git a/anrui-management/anrui-management-ui/src/views/commodity/commodity.vue b/anrui-management/anrui-management-ui/src/views/commodity/commodity.vue
new file mode 100644
index 0000000000..821ae353d6
--- /dev/null
+++ b/anrui-management/anrui-management-ui/src/views/commodity/commodity.vue
@@ -0,0 +1,377 @@
+
+
+
+
+
+
+
+ {{ searchxianshitit }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anrui-management/anrui-management-ui/src/views/commodity/commodityAdd.vue b/anrui-management/anrui-management-ui/src/views/commodity/commodityAdd.vue
new file mode 100644
index 0000000000..764ce7568a
--- /dev/null
+++ b/anrui-management/anrui-management-ui/src/views/commodity/commodityAdd.vue
@@ -0,0 +1,392 @@
+
+
+
+
+
+
+
+ *商品名称
+
+
+
+
+
+ *商品编码
+
+
+
+
+
+ 拼音缩写
+
+
+
+
+
+ 条形码
+
+
+
+
+
+
+
+ *商品等级
+
+
+
+
+
+
+
+ *商品类型
+
+
+
+
+
+
+
+ *商品分类
+
+
+
+
+
+
+
+ *品牌
+
+
+
+
+
+
+
+
+
+ 规格
+
+
+
+
+
+ *计量单位
+
+
+
+
+
+
+
+ 保质期(天)
+
+
+
+
+
+ * 厂家
+
+
+
+
+
+
+
+
+
+ 备注
+
+
+
+
+
+
+
+ *库存上限
+
+
+
+
+
+ *库存下限
+
+
+
+
+
+ *排序
+
+
+
+
+
+
+
+ 商品图片
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/anrui-management/anrui-management-ui/src/views/commodity/commodityInfo.vue b/anrui-management/anrui-management-ui/src/views/commodity/commodityInfo.vue
new file mode 100644
index 0000000000..cc05f2178a
--- /dev/null
+++ b/anrui-management/anrui-management-ui/src/views/commodity/commodityInfo.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+ 商品名称
+ {{ formobj.goodsName }}
+
+
+ 商品编码
+ {{ formobj.goodsCode }}
+
+
+ 拼音缩写
+ {{ formobj.goodsPY }}
+
+
+ 条形码
+ {{ formobj.barCode }}
+
+
+
+
+ 商品等级
+ {{ formobj.goodsLevelValue }}
+
+
+ 商品类型
+ {{ formobj.goodsClassValue }}
+
+
+ 商品分类
+ {{ formobj.goodsTypeName }}
+
+
+ 品牌
+ {{ formobj.brandName }}
+
+
+
+
+ 规格
+ {{ formobj.indexes }}
+
+
+ 计量单位
+ {{ formobj.goodsUnitName }}
+
+
+ 保质期(天)
+ {{ formobj.shelfLife }}
+
+
+ 厂家
+ {{ formobj.manufacturerName }}
+
+
+
+
+ 备注
+ {{ formobj.skuRemarks }}
+
+
+
+
+ 库存上限
+ {{ formobj.inventoryAlertUpperLimit }}
+
+
+ 库存下限
+ {{ formobj.inventoryAlertLowerLimit }}
+
+
+ 排序
+ {{ formobj.sortNo }}
+
+
+
+
+ 商品图片
+
+
+
+
+
+
+
+
+
+