add.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. <template>
  2. <div>
  3. <el-button type="primary" size="small" @click="onShow(dialogFormVisible=true)" >新增产品</el-button>
  4. <el-drawer append-to-body title="新增产品" :visible.sync="dialogFormVisible" size="900px" @close="onCancel">
  5. <div class="drawer__panel" >
  6. <el-row :gutter="10">
  7. <el-form label-position="right" label-width="90px" :model="form" :rules="rules" ref="form" size="small">
  8. <el-col :span="12">
  9. <el-form-item label="品号" prop="itemno">
  10. <el-input v-model="form.itemno" placeholder="输入品号" @change="itemnoChange"></el-input>
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="12">
  14. <el-form-item label="品名" prop="itemname">
  15. <el-input v-model="form.itemname" placeholder="输入品名"></el-input>
  16. </el-form-item>
  17. </el-col>
  18. <el-col :span="12">
  19. <el-form-item label="ERP品号" prop="erpitemno">
  20. <el-input v-model="form.erpitemno" placeholder="输入ERP品号" @change="erpitemnoChange"></el-input>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="12">
  24. <el-form-item label="ERP品名" prop="erpitemname">
  25. <el-input v-model="form.erpitemname" placeholder="输入ERP品名"></el-input>
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="12">
  29. <el-form-item label="型号" prop="model">
  30. <el-input v-model="form.model" placeholder="输入产品型号"></el-input>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :span="12">
  34. <el-form-item label="规格" prop="spec">
  35. <el-input v-model="form.spec" placeholder="输入产品规格"></el-input>
  36. </el-form-item>
  37. </el-col>
  38. <el-col :span="12">
  39. <el-form-item label="装箱数" prop="packqty">
  40. <el-input type="number" v-model="form.packqty" placeholder="输入装箱数"></el-input>
  41. </el-form-item>
  42. </el-col>
  43. <el-col :span="12" v-if="siteid === 'HY' || siteid === 'YOSTEST1' || siteid === 'TZ'">
  44. <el-form-item label="商品大类" prop="categories">
  45. <el-select v-model="form.categories" style="width:100%">
  46. <el-option v-for="item in categoriesList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
  47. </el-select>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="24">
  51. <el-form-item label="辅助单位">
  52. <el-checkbox :true-label="1" :false-label="0" v-model="form.isauxunit" @change="isauxunitChange">是否需要辅助单位</el-checkbox>
  53. </el-form-item>
  54. </el-col>
  55. <el-col :span="12">
  56. <el-form-item label="主单位" prop="unitid">
  57. <el-select style="width:100%" v-model="form.unitid" placeholder="请选择" @change="unitChange">
  58. <el-option
  59. v-for="item in unitData"
  60. :key="item.unitid"
  61. :label="item.unitname"
  62. :value="item.unitid">
  63. </el-option>
  64. </el-select>
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="12">
  68. <el-form-item label="辅助单位">
  69. <el-select style="width:100%" v-model="form.unitgroupid" :disabled="form.isauxunit === 0" placeholder="请选择">
  70. <el-option
  71. v-for="item in unitGroupData"
  72. :key="item.unitgroupid"
  73. :label="item.unitgroupname"
  74. :value="item.unitgroupid">
  75. <p style="float: left">{{ item.unitgroupname }}</p>
  76. <p style="float:right;color: #8492a6; font-size: 13px">{{ item.conversionrate }}{{item.unitname}}/{{item.auxunitname}},换算率:{{'1:'+ item.conversionrate}}</p>
  77. </el-option>
  78. </el-select>
  79. </el-form-item>
  80. </el-col>
  81. <el-col :span="12">
  82. <el-form-item label="领域" prop="tradefields">
  83. <el-select style="width:100%" v-model="form.tradefields" multiple placeholder="请选择" clearable>
  84. <el-option
  85. v-for="item in tradefield"
  86. :key="item.value"
  87. :label="item.value"
  88. :value="item.value">
  89. </el-option>
  90. </el-select>
  91. </el-form-item>
  92. </el-col>
  93. <el-col :span="12">
  94. <el-form-item label="产品标准">
  95. <el-select style="width:100%" v-model="form.standards" placeholder="请选择" clearable>
  96. <el-option
  97. v-for="item in standards"
  98. :key="item.value"
  99. :label="item.value"
  100. :value="item.value">
  101. </el-option>
  102. </el-select>
  103. </el-form-item>
  104. </el-col>
  105. <el-col :span="12">
  106. <el-form-item label="起订量" prop="orderminqty">
  107. <el-input placeholder="起订量" v-model="form.orderminqty" class="input-with-select">
  108. <el-select style="width:100px" v-model="form.orderminqty_auxunit" slot="prepend" placeholder="请选择">
  109. <el-option label="主单位" :value="0"></el-option>
  110. <el-option :disabled="form.isauxunit === 0" label="辅助单位" :value="1"></el-option>
  111. </el-select>
  112. </el-input>
  113. </el-form-item>
  114. </el-col>
  115. <el-col :span="12">
  116. <el-form-item label="增量" prop="orderaddqty">
  117. <el-input placeholder="增量" v-model="form.orderaddqty" class="input-with-select">
  118. <el-select style="width:100px" v-model="form.orderaddqty_auxunit" slot="prepend" placeholder="请选择">
  119. <el-option label="主单位" :value="0"></el-option>
  120. <el-option :disabled="form.isauxunit === 0" label="辅助单位" :value="1"></el-option>
  121. </el-select>
  122. </el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="12">
  126. <el-form-item label="材质" >
  127. <el-select style="width:100%" v-model="form.material" placeholder="请选择" clearable>
  128. <el-option
  129. v-for="item in itemmaterial"
  130. :key="item.value"
  131. :label="item.value"
  132. :value="item.value">
  133. </el-option>
  134. </el-select>
  135. </el-form-item>
  136. </el-col>
  137. <el-col :span="12">
  138. <el-form-item label="重量(kg)">
  139. <el-input v-model="form.weight" placeholder="重量(kg)"></el-input>
  140. </el-form-item>
  141. </el-col>
  142. <el-col :span="12">
  143. <el-form-item label="交期">
  144. <el-input v-model="form.delivery" placeholder="输入交期(天)"></el-input>
  145. </el-form-item>
  146. </el-col>
  147. <el-col :span="12">
  148. <el-form-item label="保修期限">
  149. <el-input v-model="form.warrantyday" placeholder="输入保修期限(年)"></el-input>
  150. </el-form-item>
  151. </el-col>
  152. <el-col :span="12">
  153. <el-form-item label="满库存量">
  154. <el-input v-model="form.stockstatus1" placeholder="满库存量"></el-input>
  155. </el-form-item>
  156. </el-col>
  157. <el-col :span="12">
  158. <el-form-item label="缺货提醒">
  159. <el-input v-model="form.stockstatus2" placeholder="缺货提醒"></el-input>
  160. </el-form-item>
  161. </el-col>
  162. <el-col :span="12">
  163. <el-form-item label="工具">
  164. <el-checkbox :true-label="1" :false-label="0" v-model="form.istool">是否工具</el-checkbox>
  165. </el-form-item>
  166. </el-col>
  167. <el-col :span="12">
  168. <el-form-item label="营销物料">
  169. <el-checkbox :true-label="1" :false-label="0" v-model="form.iswuliao">是否物料</el-checkbox>
  170. </el-form-item>
  171. </el-col>
  172. <el-col :span="12">
  173. <el-form-item label="产线">
  174. <el-input v-model="form.prodline" placeholder="输入产线"></el-input>
  175. </el-form-item>
  176. </el-col>
  177. <el-col :span="12">
  178. <el-form-item label="装置">
  179. <el-input v-model="form.device" placeholder="输入装置"></el-input>
  180. </el-form-item>
  181. </el-col>
  182. <el-col :span="24">
  183. <el-form-item label="特殊说明">
  184. <el-input v-model="form.specalnote" type="textarea" placeholder="输入特殊说明"></el-input>
  185. </el-form-item>
  186. </el-col>
  187. <!-- <el-col :span="8">
  188. <el-form-item label="单品管理">
  189. <el-checkbox :true-label="1" :false-label="0" v-model="form.skucontrol" @change="isauxunitChange">是否需要单品管理</el-checkbox>
  190. </el-form-item>
  191. </el-col>
  192. <el-col :span="8">
  193. <el-form-item label="批次管理">
  194. <el-checkbox :true-label="1" :false-label="0" v-model="form.batchcontrol" @change="isauxunitChange">是否需要批次管理</el-checkbox>
  195. </el-form-item>
  196. </el-col>-->
  197. <el-col :span="12">
  198. <el-form-item label="服务物料">
  199. <el-checkbox :true-label="1" :false-label="0" v-model="form.isservice">是否服务物料</el-checkbox>
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="12">
  203. <el-form-item label="中线蝶阀">
  204. <el-checkbox :true-label="1" :false-label="0" v-model="form.isbutterfly" >是否中线蝶阀</el-checkbox>
  205. </el-form-item>
  206. </el-col>
  207. <el-col :span="12" >
  208. <el-form-item label="压力等级" >
  209. <el-select style="width:100%" v-model="form.pressure" placeholder="请选择" clearable>
  210. <el-option
  211. v-for="item in pressures"
  212. :key="item.value"
  213. :label="item.value"
  214. :value="item.value">
  215. </el-option>
  216. </el-select>
  217. </el-form-item>
  218. </el-col>
  219. <el-col :span="12">
  220. <el-form-item label="蝶板驱动" >
  221. <el-select style="width:100%" v-model="form.butterflyplatedrive" placeholder="请选择" clearable>
  222. <el-option
  223. v-for="item in butterflyplatedrive"
  224. :key="item.value"
  225. :label="item.value"
  226. :value="item.value">
  227. </el-option>
  228. </el-select>
  229. </el-form-item>
  230. </el-col>
  231. <el-col :span="12">
  232. <el-form-item label="连接形式" >
  233. <el-select style="width:100%" v-model="form.connection" placeholder="请选择" clearable>
  234. <el-option
  235. v-for="item in connectionmode"
  236. :key="item.value"
  237. :label="item.value"
  238. :value="item.value">
  239. </el-option>
  240. </el-select>
  241. </el-form-item>
  242. </el-col>
  243. <el-col :span="12">
  244. <el-form-item label="阀板材质" >
  245. <el-select style="width:100%" v-model="form.valveplatematerial" placeholder="请选择" clearable>
  246. <el-option
  247. v-for="item in valveplatematerial"
  248. :key="item.value"
  249. :label="item.value"
  250. :value="item.value">
  251. </el-option>
  252. </el-select>
  253. </el-form-item>
  254. </el-col>
  255. <el-col :span="12">
  256. <el-form-item label="阀体材质" >
  257. <el-select style="width:100%" v-model="form.bodymaterial" placeholder="请选择" clearable>
  258. <el-option
  259. v-for="item in bodymaterial"
  260. :key="item.value"
  261. :label="item.value"
  262. :value="item.value">
  263. </el-option>
  264. </el-select>
  265. </el-form-item>
  266. </el-col>
  267. <el-col :span="12">
  268. <el-form-item label="执行器类型" >
  269. <el-select style="width:100%" v-model="form.actuatortype" placeholder="请选择" clearable>
  270. <el-option
  271. v-for="item in actuatortype"
  272. :key="item.value"
  273. :label="item.value"
  274. :value="item.value">
  275. </el-option>
  276. </el-select>
  277. </el-form-item>
  278. </el-col>
  279. <el-col :span="12">
  280. <el-form-item label="执行器品牌">
  281. <el-select style="width:100%" v-model="form.actuatorbrand" placeholder="请选择" clearable>
  282. <el-option
  283. v-for="item in actuatorbrand"
  284. :key="item.value"
  285. :label="item.value"
  286. :value="item.value">
  287. </el-option>
  288. </el-select>
  289. </el-form-item>
  290. </el-col>
  291. <el-col :span="20">
  292. <el-form-item label="产品图">
  293. <uploadFile
  294. ref="upload"
  295. style="margin-top:10px"
  296. :folderid="folderid"
  297. accept=".JPG,.PNG,.jpg,.png"
  298. type="image"
  299. :bindData="bindData"
  300. @onSuccess="uploadSuccess">
  301. </uploadFile>
  302. <!-- <previewImage :image="form.attinfos[0]" :deletebtn="true"
  303. @onSuccess="clearCover"></previewImage> -->
  304. <small style="display:block;margin-top:20px" class="info">注:建议上传图片大小1024x1024,大小不超过2M,格式为JPG/PNG</small>
  305. </el-form-item>
  306. </el-col>
  307. </el-form>
  308. </el-row>
  309. </div>
  310. <div class="fixed__btn__panel">
  311. <el-button size="small" @click="onCancel" class="normal-btn-width">取 消</el-button>
  312. <el-button size="small" type="primary" @click="onSubmit" :loading="loading" class="normal-btn-width">确 定</el-button>
  313. </div>
  314. </el-drawer>
  315. </div>
  316. </template>
  317. <script>
  318. import uploadFile from '@/components/upload/preview_upload.vue'
  319. import previewImage from '@/components/previewImage/index.vue'
  320. import {mapGetters} from "vuex";
  321. export default {
  322. components:{uploadFile,previewImage},
  323. data () {
  324. return {
  325. dialogFormVisible:false,
  326. folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
  327. form:{
  328. "attinfos":[],
  329. "itemid":0,
  330. "isauxunit":0,
  331. "unitid":'',
  332. "unitgroupid":'',
  333. "itemno":'',
  334. "itemname":'',
  335. "model": "",
  336. "spec": "",
  337. "orderminqty": 1, //订单起订量
  338. "orderaddqty": 1, //订单增量
  339. "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
  340. "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
  341. "remarks": "", //可选
  342. "barcode": "", //可选
  343. "skucontrol": 0, //可选
  344. "batchcontrol": 0, //可选
  345. "grossweight": '', //可选
  346. "weight": '', //可选
  347. "height": '', //可选
  348. "width": '', //可选
  349. "length": '', //可选
  350. "caliber": "", //可选,口径
  351. "pressure": "", //可选,压力
  352. "material": "", //可选,材质
  353. "standards": "", //可选,产品标准
  354. "tradefields": '', //可选,领域
  355. "stockstatus2": '', //可选,库存缺货标准
  356. "stockstatus1": '', //可选,库存充足标准
  357. "warrantyday": '', //可选,保修期(年)
  358. "iswuliao": 0, //可选,是否营销物料
  359. "isservice": 0, //可选,是否服务物料
  360. "butterflyplatedrive": "",
  361. "connection": "",
  362. "valveplatematerial": "",
  363. "bodymaterial": "",
  364. "actuatortype": "",
  365. "actuatorbrand": "",
  366. "isbutterfly": 0,
  367. "erpitemno": "",
  368. "erpitemname": "",
  369. "specalnote": "",
  370. "prodline": "",
  371. "device": "",
  372. "packqty":'1',
  373. "tags":'',
  374. "categories":""
  375. },
  376. rules:{
  377. itemno: [
  378. { required: true, message: '请输入输入产品编号', trigger: 'blur' },
  379. ],
  380. itemname: [
  381. { required: true, message: '请输入输入产品名称', trigger: 'blur' },
  382. ],
  383. isauxunit: [
  384. { type: 'number', required: true, message: '辅助单位管理不可为空', trigger: 'change' },
  385. ],
  386. batchcontrol: [
  387. { required: true,message:'批次管理不可为空', trigger:'change'}
  388. ],
  389. skucontrol: [
  390. { required: true,message:'单品管理不可为空', trigger:'change'}
  391. ],
  392. unitid: [
  393. { required: true,message:'请输入主单位', trigger:'change'}
  394. ],
  395. tradefields: [
  396. { required: true,message:'请选择领域', trigger:'change'}
  397. ],
  398. categories: [
  399. { required: true,message:'请选择商品大类', trigger:'change'}
  400. ],
  401. },
  402. unitGroupData:[],
  403. unitData:[],
  404. bindData:{},
  405. tradefield:[],// 领域
  406. standards:[],// 产品标准
  407. pressures:[],// 压力等级
  408. itemmaterial:[], // 材质
  409. butterflyplatedrive:[],// 蝶板驱动
  410. valveplatematerial:[],// 阀板材质
  411. bodymaterial:[],// 阀体材质
  412. actuatortype:[], // 执行器类型
  413. actuatorbrand:[],// 执行器品牌
  414. connectionmode:[],// 连接形式
  415. categoriesList:[],//商品大类
  416. siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
  417. }
  418. },
  419. computed:{
  420. ...mapGetters({
  421. loading:'loading'
  422. })
  423. },
  424. methods:{
  425. onShow () {
  426. this.unitlist()
  427. this.unitGrouplist()
  428. this.fieldData()
  429. this.standardData()
  430. this.pressureData()
  431. this.itemmaterialData()
  432. this.butterflyplatedriveData()
  433. this.valveplatematerialData()
  434. this.bodymaterialData()
  435. this.actuatortypeData()
  436. this.actuatorbrandData()
  437. this.connectionmodeData()
  438. this.getCategoriesList()
  439. },
  440. // 查询领域
  441. async fieldData () {
  442. const res = await this.$store.dispatch('optiontypeselect','tradefield')
  443. this.tradefield = res.data
  444. },
  445. // 查询产品标准
  446. async standardData () {
  447. const res = await this.$store.dispatch('optiontypeselect','itemstandards')
  448. this.standards = res.data
  449. },
  450. // 查询压力等级
  451. async pressureData () {
  452. const res = await this.$store.dispatch('optiontypeselect','pressurelevel')
  453. this.pressures = res.data
  454. },
  455. // 查询材质
  456. async itemmaterialData () {
  457. const res = await this.$store.dispatch('optiontypeselect','itemmaterial')
  458. this.itemmaterial = res.data
  459. },
  460. // 查询蝶板驱动
  461. async butterflyplatedriveData () {
  462. const res = await this.$store.dispatch('optiontypeselect','butterflyplatedrive')
  463. this.butterflyplatedrive = res.data
  464. },
  465. // 阀板材质
  466. async valveplatematerialData () {
  467. const res = await this.$store.dispatch('optiontypeselect','valveplatematerial')
  468. this.valveplatematerial = res.data
  469. },
  470. // 阀体材质
  471. async bodymaterialData () {
  472. const res = await this.$store.dispatch('optiontypeselect','bodymaterial')
  473. this.bodymaterial = res.data
  474. },
  475. // 执行器类型
  476. async actuatortypeData () {
  477. const res = await this.$store.dispatch('optiontypeselect','actuatortype')
  478. this.actuatortype = res.data
  479. },
  480. // 执行器品牌
  481. async actuatorbrandData () {
  482. const res = await this.$store.dispatch('optiontypeselect','actuatorbrand')
  483. this.actuatorbrand = res.data
  484. },
  485. // 连接形式
  486. async connectionmodeData () {
  487. const res = await this.$store.dispatch('optiontypeselect','connectionmode')
  488. this.connectionmode = res.data
  489. },
  490. async unitlist () {
  491. const res = await this.$api.requested({
  492. "id": "20220922084803",
  493. "version":1,
  494. "nocache": true,
  495. "content": {
  496. "pageSize":1000,
  497. "where":{
  498. "condition":""
  499. }
  500. }
  501. })
  502. this.unitData = res.data
  503. },
  504. async unitGrouplist () {
  505. const res = await this.$api.requested({
  506. "id": "20220922084503",
  507. "version":1,
  508. "nocache": true,
  509. "content": {
  510. "pageSize":1000,
  511. "where":{
  512. "condition":"",
  513. "unitid":this.form.unitid
  514. }
  515. }
  516. })
  517. this.unitGroupData = res.data
  518. },
  519. onSubmit () {
  520. this.$refs['form'].validate(async (valid) => {
  521. if (!valid) return false
  522. this.$store.commit('setLoading',true)
  523. const res = await this.$api.requested({
  524. "id": 20220923141502,
  525. "content": this.form
  526. })
  527. this.tool.showMessage(res,()=>{
  528. this.$store.commit('setLoading',false)
  529. this.bindData = {
  530. ownertable:'plm_item',
  531. ownerid:res.data.itemid,
  532. usetype:'default'
  533. }
  534. /* this.setTag(res.data.itemid,res.data.rowindex)*/
  535. this.$refs['form'].resetFields();
  536. this.$refs['upload'].toUpload()
  537. this.$emit('onSuccess')
  538. this.refresh()
  539. this.dialogFormVisible = false
  540. this.$store.dispatch('changeDetailDrawer',true)
  541. this.$router.push({path:'/productmagDetail',query:{id:res.data.itemid,rowindex:res.data.rowindex}})
  542. })
  543. })
  544. },
  545. async setTag(id,rowindex){
  546. const res = await this.$api.requested({
  547. "id": 20220929090901,
  548. "content": {
  549. "ownertable":"plm_item",
  550. "ownerid":id,
  551. "datatag":[this.form.tags]
  552. }
  553. })
  554. console.log(res.data,'标签设置结果')
  555. this.$refs['form'].resetFields();
  556. this.$refs['upload'].toUpload()
  557. this.$emit('onSuccess')
  558. this.refresh()
  559. this.dialogFormVisible = false
  560. this.$store.dispatch('changeDetailDrawer',true)
  561. this.$router.push({path:'/productmagDetail',query:{id:id,rowindex:rowindex}})
  562. },
  563. onCancel(){
  564. this.dialogFormVisible = false
  565. this.$refs['form'].resetFields();
  566. this.form={
  567. "attinfos":[],
  568. "itemid":0,
  569. "isauxunit":0,
  570. "unitid":'',
  571. "unitgroupid":'',
  572. "itemno":'',
  573. "itemname":'',
  574. "model": "",
  575. "spec": "",
  576. "orderminqty": 1, //订单起订量
  577. "orderaddqty": 1, //订单增量
  578. "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
  579. "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
  580. "remarks": "", //可选
  581. "barcode": "", //可选
  582. "skucontrol": 0, //可选
  583. "batchcontrol": 1, //可选
  584. "grossweight": '', //可选
  585. "weight": '', //可选
  586. "height": '', //可选
  587. "width": '', //可选
  588. "length": '', //可选
  589. "packqty":'1',
  590. "tags":'',
  591. "categories":""
  592. }
  593. },
  594. unitChange () {
  595. this.unitGrouplist()
  596. },
  597. isauxunitChange (val) {
  598. if (val === 0) {
  599. this.form.orderminqty_auxunit = this.form.orderaddqty_auxunit = 0
  600. this.form.unitgroupid = ''
  601. }
  602. },
  603. uploadSuccess(res){
  604. this.$emit('onSuccess')
  605. },
  606. refresh () {
  607. this.form = {
  608. "attinfos":[],
  609. "itemid":0,
  610. "isauxunit":0,
  611. "unitid":'',
  612. "unitgroupid":'',
  613. "itemno":'',
  614. "itemname":'',
  615. "model": "",
  616. "spec": "",
  617. "orderminqty": 1, //订单起订量
  618. "orderaddqty": 1, //订单增量
  619. "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
  620. "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
  621. "remarks": "", //可选
  622. "barcode": "", //可选
  623. "skucontrol": 0, //可选
  624. "batchcontrol": 1, //可选
  625. "grossweight": '', //可选
  626. "weight": '', //可选
  627. "height": '', //可选
  628. "width": '', //可选
  629. "length": '', //可选
  630. "caliber": "", //可选,口径
  631. "pressure": "", //可选,压力
  632. "material": "", //可选,材质
  633. "standards": "", //可选,产品标准
  634. "tradefields": '', //可选,领域
  635. "stockstatus2": 0, //可选,库存缺货标准
  636. "stockstatus1": 100, //可选,库存充足标准
  637. "warrantyday": 1, //可选,保修期(年)
  638. "iswuliao": 0, //可选,是否营销物料
  639. "isservice": 0, //可选,是否服务物料
  640. "butterflyplatedrive": "",
  641. "connection": "",
  642. "valveplatematerial": "",
  643. "bodymaterial": "",
  644. "actuatortype": "",
  645. "actuatorbrand": "",
  646. "isbutterfly": 0,
  647. "erpitemno": "",
  648. "erpitemname": "",
  649. "specalnote": "",
  650. "prodline": "",
  651. "device": "",
  652. "packqty":"1",
  653. "categories":""
  654. }
  655. },
  656. itemnoChange(){
  657. this.form.itemno=this.form.itemno.replace(/^\s+|\s+$/g,'')
  658. },
  659. erpitemnoChange(){
  660. this.form.erpitemno = this.form.erpitemno.replace(/^\s+|\s+$/g,'')
  661. },
  662. /*获取可选商品大类*/
  663. async getCategoriesList () {
  664. let res = await this.$store.dispatch('optiontypeselect','categories')
  665. this.categoriesList= res.data
  666. this.form.categories = this.categoriesList.length > 0?this.categoriesList[0].remarks:''
  667. },
  668. hasDisabledTag (item) {
  669. let arr = []
  670. let arr2 = []
  671. arr = this.tagList.filter(item=>{
  672. return this.form.tags.includes(item.tag)
  673. })
  674. arr.forEach(e=>{
  675. arr2 = arr2.concat(e.mutextag)
  676. })
  677. arr2 = this.form.tags.length === 0?[]:arr2
  678. let _isSame = arr2.some(tag=>item.tag === tag)
  679. return _isSame
  680. },
  681. },
  682. mounted () {
  683. }
  684. }
  685. </script>
  686. <style>
  687. </style>