Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

editInspection.vue 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. <template>
  2. <el-dialog
  3. :title="formTitle"
  4. width="900px"
  5. :visible.sync="visible"
  6. :before-close="_close"
  7. >
  8. <div>
  9. <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
  10. <el-form-item label="组套名称 : " prop="project_team" style="width:100%">
  11. <el-input v-model="form.project_team" placeholder="" maxlength="30"></el-input>
  12. </el-form-item>
  13. <el-form-item label="组套价格 : " prop="price" style="width:100%">
  14. <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
  15. </el-form-item>
  16. <el-form-item label="拼音 : " prop="pinyin" style="width:50%">
  17. <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
  18. </el-form-item>
  19. <el-form-item label="五笔 : " prop="wubi" style="width:50%">
  20. <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
  21. </el-form-item>
  22. <el-form-item label="试管颜色 : " prop="name" style="width:50%">
  23. <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
  24. <el-option
  25. v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
  26. :key="index"
  27. :label="item.name"
  28. :value="item.id">
  29. </el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item label="组套类型 : " prop="name" style="width:50%">
  33. <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
  34. <el-option
  35. v-for="item in options"
  36. :key="item.value"
  37. :label="item.label"
  38. :value="item.value">
  39. </el-option>
  40. </el-select>
  41. </el-form-item>
  42. <el-form-item label="备注 : " prop="name" style="width:100%;">
  43. <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
  44. </el-form-item>
  45. <el-form-item label="组套明细" style="width:50%;">
  46. <el-select v-model="form.project_detail" placeholder="请选择">
  47. <el-option
  48. v-for="item in projectList"
  49. :key="item.id"
  50. :label="item.project_name"
  51. :value="item.id">
  52. </el-option>
  53. </el-select>
  54. </el-form-item>
  55. <el-form-item label="数量" style="width:50%;">
  56. <div style="display:flex;">
  57. <el-input v-model="form.number" style="margin-right:10px;"></el-input>
  58. <el-button type="primary" @click="addProjectList">添加</el-button>
  59. </div>
  60. </el-form-item>
  61. </el-form>
  62. <el-form>
  63. <el-table :data="tableData" border style="100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row ref="tab">
  64. <el-table-column align="center" prop="name" label="分类" width="120">
  65. <template slot-scope="scope">{{getId(scope.row.statistical_classification)}}</template>
  66. </el-table-column>
  67. <el-table-column align="center" prop="name" label="组套明细" width="120">
  68. <template slot-scope="scope">{{scope.row.project_name}}</template>
  69. </el-table-column>
  70. <el-table-column align="center" prop="name" label="数量" width="120">
  71. <template slot-scope="scope">{{scope.row.number}}</template>
  72. </el-table-column>
  73. <el-table-column align="center" prop="name" label="单位" width="120">
  74. <template slot-scope="scope">{{scope.row.unit}}</template>
  75. </el-table-column>
  76. <el-table-column align="center" prop="name" label="单价" width="120">
  77. <template slot-scope="scope">{{scope.row.price}}</template>
  78. </el-table-column>
  79. <el-table-column align="center" prop="name" label="操作">
  80. <template slot-scope="scope">
  81. <el-tooltip
  82. class="item"
  83. effect="dark"
  84. content="删除"
  85. placement="top"
  86. >
  87. <el-button
  88. type="danger"
  89. icon="el-icon-delete"
  90. size="small"
  91. @click="DeleteProject(scope.row.id,scope.$index)"
  92. ></el-button>
  93. </el-tooltip>
  94. </template>
  95. </el-table-column>
  96. </el-table>
  97. </el-form>
  98. </div>
  99. <div slot="footer" class="dialog-footer">
  100. <el-button @click="hide">取 消</el-button>
  101. <el-button type="primary" @click="submitAction('form')">保 存</el-button>
  102. </div>
  103. </el-dialog>
  104. </template>
  105. <script>
  106. import { getProjectTeamDetail,updatedProjectTeam,getAllProjectList,addProjectList,DeleteProject } from "@/api/project/project"
  107. import { getDictionaryDataConfig,getDataConfig} from "@/utils/data";
  108. export default {
  109. data(){
  110. return{
  111. visible:false,
  112. formTitle:'',
  113. activeName:'first',
  114. form:{
  115. id:"",
  116. project_team:'',
  117. price:"",
  118. pinyin:"",
  119. wubi:"",
  120. tube_color:"",
  121. team_type:"",
  122. remark:"",
  123. project_detail:"",
  124. number:"",
  125. item_id:"",
  126. },
  127. options: [{
  128. value: 1,
  129. label: '是'
  130. }, {
  131. value: 2,
  132. label: '否'
  133. },],
  134. value: '',
  135. radio:'1',
  136. rules: {
  137. project_team: [{ required: true, message: '请填写组套名称', trigger: 'blur' }],
  138. // pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
  139. // wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
  140. price: [{ required: true, message: '请填写价格', trigger: 'change' }],
  141. team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
  142. },
  143. tableData:[],
  144. item_id:[]
  145. }
  146. },
  147. methods:{
  148. getDataConfig(module, filed_name){
  149. return getDataConfig(module, filed_name)
  150. },
  151. getDictionaryDataConfig(module, filed_name) {
  152. return getDictionaryDataConfig(module, filed_name)
  153. },
  154. _close: function(done) {
  155. done()
  156. },
  157. clear: function() {
  158. this.form.id = 0;
  159. this.form.name = "";
  160. this.form.intro = "";
  161. },
  162. show(id) {
  163. this.visible = true
  164. this.formTitle = '编辑'
  165. this.getProjectTeamDetail(id)
  166. },
  167. hide() {
  168. this.visible = false
  169. },
  170. getProjectTeamDetail(id){
  171. getProjectTeamDetail(id).then(response=>{
  172. if(response.data.state == 1){
  173. var projectTeamDetail = response.data.data.projectTeamDetail
  174. console.log("projectTeamDetail",projectTeamDetail)
  175. var str = projectTeamDetail.project_id
  176. var arr = str.split(",")
  177. console.log("Arr33333",arr)
  178. var list = response.data.data.list
  179. console.log("list",list)
  180. var hisList = response.data.data.hisList
  181. console.log("histList",hisList)
  182. for(let i=0;i<list.length;i++){
  183. for(let j=0;j<hisList.length;j++){
  184. if(list[i].id == hisList[j].project_id){
  185. list[i].number = hisList[j].number
  186. }
  187. }
  188. }
  189. var strArr = []
  190. for(let i=0;i<arr.length;i++){
  191. for(let j=0;j<list.length;j++){
  192. if((arr[i]== list[j].id)){
  193. strArr.push(list[j])
  194. }
  195. }
  196. }
  197. console.log("数据222222",strArr)
  198. this.tableData = strArr
  199. this.form.id = projectTeamDetail.id
  200. this.form.project_team = projectTeamDetail.project_team
  201. this.form.price = projectTeamDetail.price
  202. this.form.pinyin = projectTeamDetail.pinyin
  203. this.form.wubi = projectTeamDetail.wubi
  204. this.form.tube_color = projectTeamDetail.tube_color
  205. this.form.team_type = projectTeamDetail.team_type
  206. this.form.remark = projectTeamDetail.remark
  207. this.form.item_id = projectTeamDetail.item_id
  208. // console.log("project",projectTeamDetail)
  209. }
  210. })
  211. },
  212. submitAction(formName){
  213. this.$refs[formName].validate((valid)=>{
  214. var arr = []
  215. for(let i=0;i<this.tableData.length;i++){
  216. arr.push(this.tableData[i].id)
  217. }
  218. var ids = arr.join(",")
  219. var item_id = this.form.item_id + "," + this.item_id.join(",")
  220. console.log("item_id",item_id)
  221. if(valid){
  222. var params = {
  223. id:this.form.id,
  224. project_team:this.form.project_team,
  225. price:this.form.price,
  226. pinyin:this.form.pinyin,
  227. wubi:this.form.wubi,
  228. tube_color:this.form.tube_color,
  229. team_type:this.form.team_type,
  230. remark:this.form.remark,
  231. ids:ids,
  232. item_id:item_id
  233. }
  234. // console.log("params",params)
  235. updatedProjectTeam(params).then(response=>{
  236. if(response.data.state == 1){
  237. var projectTeam = response.data.data.projectTeam
  238. this.$message.success("保存成功")
  239. this.visible = false
  240. this.$parent.getlist()
  241. }
  242. })
  243. }
  244. })
  245. },
  246. getlist(){
  247. getAllProjectList().then(response=>{
  248. if(response.data.state == 1){
  249. var projectList = response.data.data.projectList
  250. console.log('projectlist33333',projectList)
  251. this.projectList = projectList
  252. var hisprojectlist = response.data.data.hisprojectlist
  253. console.log("hisprojectlist",hisprojectlist)
  254. // this.tableData = hisprojectlist
  255. }
  256. })
  257. },
  258. getId(id){
  259. console.log("id",id)
  260. var name = ""
  261. var statistics_category = getDictionaryDataConfig('system','statistics_category')
  262. console.log("statics",statistics_category)
  263. for(let i=0;i<statistics_category.length;i++){
  264. if(id == statistics_category[i].id){
  265. name = statistics_category[i].name
  266. }
  267. }
  268. return name
  269. },
  270. addProjectList(){
  271. console.log("表格",this.tableData)
  272. const params = {
  273. id:this.form.project_detail,
  274. number:parseInt(this.form.number)
  275. }
  276. console.log("params",params)
  277. addProjectList(params).then(response=>{
  278. if(response.data.state == 1){
  279. var projectList = response.data.data.projectList
  280. projectList.number = parseInt(this.form.number)
  281. this.tableData.push(projectList)
  282. console.log("23333",this.tableData)
  283. var item = response.data.data.item
  284. this.item_id.push(item.id)
  285. this.$message.success("保存成功")
  286. this.form.project_detail = ""
  287. this.form.number = ""
  288. this.getlist()
  289. }
  290. })
  291. },
  292. DeleteProject(id,index){
  293. this.$confirm("确认删除此项目吗?", "删除", {
  294. confirmButtonText: "确 定",
  295. cancelButtonText: "取 消",
  296. type: "warning"
  297. }).then(() => {
  298. DeleteProject(id).then(response => {
  299. if (response.data.state == 1) {
  300. this.tableData.splice(index, 1);
  301. } else {
  302. }
  303. });
  304. })
  305. .catch(() => {});
  306. }
  307. },
  308. created(){
  309. this.getlist()
  310. }
  311. }
  312. </script>