增加更新脚本

This commit is contained in:
sunjie
2025-09-01 23:39:39 +08:00
parent 551d3740ce
commit f4bc88e533
17 changed files with 98 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
from . import main
@@ -0,0 +1 @@
from . import main
@@ -0,0 +1,21 @@
import json
import os
from jinja2 import Environment, FileSystemLoader
from odoo import http
from odoo.http import request, Response
class YuthonBase(http.Controller):
def __init__(self):
template_path = os.path.join(os.path.dirname(__file__), '../static/')
self.jinja_env = Environment(loader=FileSystemLoader(template_path),
autoescape=True)
@http.route('/webh5', type='http', auth='public', methods=['GET'], csrf=False)
def index(self):
t = self.jinja_env.get_template('webh5/index.html')
return Response(t.render(), mimetype='text/html')
+21
View File
@@ -0,0 +1,21 @@
import json
import os
from jinja2 import Environment, FileSystemLoader
from odoo import http
from odoo.http import request, Response
class YuthonBase(http.Controller):
def __init__(self):
template_path = os.path.join(os.path.dirname(__file__), '../static/')
self.jinja_env = Environment(loader=FileSystemLoader(template_path),
autoescape=True)
@http.route('/webh5', type='http', auth='public', methods=['GET'], csrf=False)
def index(self):
t = self.jinja_env.get_template('webh5/index.html')
return Response(t.render(), mimetype='text/html')
@@ -0,0 +1 @@
import{_ as e}from"./index-B9xdXrdx.js";const r={};function c(n,t){return null}const o=e(r,[["render",c]]);export{o as default};
@@ -0,0 +1 @@
.container[data-v-0aa7162a]{background:#f8f8f8;min-height:100vh}.meeting-header[data-v-0aa7162a]{background:#fff;padding:24px;border-bottom:1px solid #eee}.title[data-v-0aa7162a]{font-size:18px;font-weight:700;margin-bottom:8px}.time[data-v-0aa7162a],.location[data-v-0aa7162a]{font-size:14px;color:#666;margin-bottom:4px}.section-label[data-v-0aa7162a]{width:120px;color:#666;font-size:14px}.section-content[data-v-0aa7162a]{display:flex;align-items:center;gap:8px}.name[data-v-0aa7162a]{font-size:14px;color:#333}.footer[data-v-0aa7162a]{display:flex;justify-content:space-around;padding:16px;background:#fff;position:fixed;bottom:0;width:100%;border-top:1px solid #eee}.btn[data-v-0aa7162a]{flex:1;margin:0 4px}
@@ -0,0 +1 @@
import{B as _,E as i,C as d,D as v}from"./requests-BjSuBLH6.js";import{_ as p,r as h,o as m,u as y,h as f,i as l,g as a,t,k,l as g}from"./index-B9xdXrdx.js";const w=r=>_("/yuthon/yuthon/will/task",{id:r}),x={class:"container"},B={class:"meeting-header"},C={class:"title"},q={class:"time"},D={class:"location"},E={__name:"Journey",setup(r){const u=y(),e=h({});return m(async()=>{try{const s=parseInt(u.query.id),n=await w(s);e.value=n.data}catch(s){i("获取任务详情失败"),console.error(s)}}),(s,n)=>{const o=v,c=d;return g(),f("div",x,[l("div",B,[l("div",C,t(e.value.name),1),l("div",q,t(e.value.start_date)+" "+t(e.value.start_date_week)+" "+t(e.value.request_hour_from)+" - "+t(e.value.request_hour_to),1),l("div",D,"地址: "+t(e.value.address),1)]),a(c,null,{default:k(()=>[a(o,{title:"组织人",value:e.value.user_id},null,8,["value"]),a(o,{title:"参与人",value:"共"+(e.value.employee_ids?.length||0)+"人"},null,8,["value"]),a(o,{title:"描述",value:e.value.remarks},null,8,["value"]),a(o,{title:"任务编号",value:e.value.code},null,8,["value"])]),_:1})])}}},N=p(E,[["__scopeId","data-v-0aa7162a"]]);export{N as default};
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
:root,:host{--van-overlay-z-index: 1;--van-overlay-background: rgba(0, 0, 0, .7)}.van-overlay{position:fixed;top:0;left:0;z-index:var(--van-overlay-z-index);width:100%;height:100%;background:var(--van-overlay-background)}:root,:host{--van-popup-background: var(--van-background-2);--van-popup-transition: transform var(--van-duration-base);--van-popup-round-radius: 16px;--van-popup-close-icon-size: 22px;--van-popup-close-icon-color: var(--van-gray-5);--van-popup-close-icon-margin: 16px;--van-popup-close-icon-z-index: 1}.van-overflow-hidden{overflow:hidden!important}.van-popup{position:fixed;max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--van-popup-background);transition:var(--van-popup-transition);-webkit-overflow-scrolling:touch}.van-popup--center{top:50%;left:0;right:0;width:-webkit-fit-content;width:fit-content;max-width:calc(100vw - var(--van-padding-md) * 2);margin:0 auto;transform:translateY(-50%)}.van-popup--center.van-popup--round{border-radius:var(--van-popup-round-radius)}.van-popup--top{top:0;left:0;width:100%}.van-popup--top.van-popup--round{border-radius:0 0 var(--van-popup-round-radius) var(--van-popup-round-radius)}.van-popup--right{top:50%;right:0;transform:translate3d(0,-50%,0)}.van-popup--right.van-popup--round{border-radius:var(--van-popup-round-radius) 0 0 var(--van-popup-round-radius)}.van-popup--bottom{bottom:0;left:0;width:100%}.van-popup--bottom.van-popup--round{border-radius:var(--van-popup-round-radius) var(--van-popup-round-radius) 0 0}.van-popup--left{top:50%;left:0;transform:translate3d(0,-50%,0)}.van-popup--left.van-popup--round{border-radius:0 var(--van-popup-round-radius) var(--van-popup-round-radius) 0}.van-popup-slide-top-enter-active,.van-popup-slide-left-enter-active,.van-popup-slide-right-enter-active,.van-popup-slide-bottom-enter-active{transition-timing-function:var(--van-ease-out)}.van-popup-slide-top-leave-active,.van-popup-slide-left-leave-active,.van-popup-slide-right-leave-active,.van-popup-slide-bottom-leave-active{transition-timing-function:var(--van-ease-in)}.van-popup-slide-top-enter-from,.van-popup-slide-top-leave-active{transform:translate3d(0,-100%,0)}.van-popup-slide-right-enter-from,.van-popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.van-popup-slide-bottom-enter-from,.van-popup-slide-bottom-leave-active{transform:translate3d(0,100%,0)}.van-popup-slide-left-enter-from,.van-popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.van-popup__close-icon{position:absolute;z-index:var(--van-popup-close-icon-z-index);color:var(--van-popup-close-icon-color);font-size:var(--van-popup-close-icon-size)}.van-popup__close-icon--top-left{top:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--top-right{top:var(--van-popup-close-icon-margin);right:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-left{bottom:var(--van-popup-close-icon-margin);left:var(--van-popup-close-icon-margin)}.van-popup__close-icon--bottom-right{right:var(--van-popup-close-icon-margin);bottom:var(--van-popup-close-icon-margin)}.container[data-v-54ef9a6c]{background:#fff;height:100vh;display:flex;flex-direction:column}.scroll-area[data-v-54ef9a6c]{flex:1;overflow-y:auto}.notice-header[data-v-54ef9a6c]{padding:16px;border-bottom:1px solid #eee}.title[data-v-54ef9a6c]{font-size:18px;font-weight:700;margin-bottom:8px}.sub-info[data-v-54ef9a6c]{font-size:14px;color:#888;display:flex;gap:10px}.notice-body[data-v-54ef9a6c]{padding:16px;font-size:15px;line-height:1.8}.attachment[data-v-54ef9a6c]{margin:16px}.notice-body .img-class[data-v-54ef9a6c],.notice-body[data-v-54ef9a6c] img{max-width:100%!important;height:auto!important}.video-wrapper[data-v-54ef9a6c]{display:flex;justify-content:center;align-items:center;background:#000;padding:12px;border-radius:8px}
@@ -0,0 +1 @@
import{v as B,t as A,c as p,H as E,I as V,j as w,n as b,F as y,B as q,E as H,C as O,D as j}from"./requests-BjSuBLH6.js";import{d as x,g as a,T as G,F as I,s as K,_ as M,r as R,o as J,u as Q,h as S,i as f,t as k,k as P,l as C,p as U,q as W}from"./index-B9xdXrdx.js";import{I as X}from"./index-Bsi6o2a0.js";const[Y,T]=p("tag"),Z={size:String,mark:Boolean,show:A,type:B("default"),color:String,plain:Boolean,round:Boolean,textColor:String,closeable:Boolean};var ee=x({name:Y,props:Z,emits:["close"],setup(t,{slots:e,emit:u}){const l=o=>{o.stopPropagation(),u("close",o)},r=()=>t.plain?{color:t.textColor||t.color,borderColor:t.color}:{color:t.textColor,background:t.color},d=()=>{var o;const{type:m,mark:i,plain:c,round:v,size:s,closeable:_}=t,g={mark:i,plain:c,round:v};s&&(g[s]=s);const h=_&&a(V,{name:"cross",class:[T("close"),E],onClick:l},null);return a("span",{style:r(),class:T([g,m])},[(o=e.default)==null?void 0:o.call(e),h])};return()=>a(G,{name:t.closeable?"van-fade":void 0},{default:()=>[t.show?d():null]})}});const te=w(ee),[ae,n]=p("card"),ne={tag:String,num:b,desc:String,thumb:String,title:String,price:b,centered:Boolean,lazyLoad:Boolean,currency:B("¥"),thumbLink:String,originPrice:b};var re=x({name:ae,props:ne,emits:["clickThumb"],setup(t,{slots:e,emit:u}){const l=()=>{if(e.title)return e.title();if(t.title)return a("div",{class:[n("title"),"van-multi-ellipsis--l2"]},[t.title])},r=()=>{if(e.tag||t.tag)return a("div",{class:n("tag")},[e.tag?e.tag():a(te,{mark:!0,type:"primary"},{default:()=>[t.tag]})])},d=()=>e.thumb?e.thumb():a(X,{src:t.thumb,fit:"cover",width:"100%",height:"100%",lazyLoad:t.lazyLoad},null),o=()=>{if(e.thumb||t.thumb)return a("a",{href:t.thumbLink,class:n("thumb"),onClick:c=>u("clickThumb",c)},[d(),r()])},m=()=>{if(e.desc)return e.desc();if(t.desc)return a("div",{class:[n("desc"),"van-ellipsis"]},[t.desc])},i=()=>{const c=t.price.toString().split(".");return a("div",null,[a("span",{class:n("price-currency")},[t.currency]),a("span",{class:n("price-integer")},[c[0]]),c.length>1&&a(I,null,[K("."),a("span",{class:n("price-decimal")},[c[1]])])])};return()=>{var c,v,s;const _=e.num||y(t.num),g=e.price||y(t.price),h=e["origin-price"]||y(t.originPrice),D=_||g||h||e.bottom,F=g&&a("div",{class:n("price")},[e.price?e.price():i()]),L=h&&a("div",{class:n("origin-price")},[e["origin-price"]?e["origin-price"]():`${t.currency} ${t.originPrice}`]),N=_&&a("div",{class:n("num")},[e.num?e.num():`x${t.num}`]),$=e.footer&&a("div",{class:n("footer")},[e.footer()]),z=D&&a("div",{class:n("bottom")},[(c=e["price-top"])==null?void 0:c.call(e),F,L,N,(v=e.bottom)==null?void 0:v.call(e)]);return a("div",{class:n()},[a("div",{class:n("header")},[o(),a("div",{class:n("content",{centered:t.centered})},[a("div",null,[l(),m(),(s=e.tags)==null?void 0:s.call(e)]),z])]),$])}}});const ce=w(re),oe=t=>q("/yuthon/yuthon/salary",{id:t}),ie={class:"container"},le={class:"header"},se={class:"salary-amount"},ue={class:"detail-section"},de={__name:"Salary",setup(t){const e=R({}),u=Q();return J(async()=>{const l=parseInt(u.query.id);try{const r=await oe(l);console.log(r),e.value=r.data}catch(r){H("获取工资条失败"),console.error(r)}}),(l,r)=>{const d=ce,o=j,m=O;return C(),S("div",ie,[f("div",le,k(e.value.date_from)+" - "+k(e.value.date_to)+" 工资条 ",1),a(d,{class:"salary-card",title:"实发工资",bordered:""},{desc:P(()=>[f("div",se,k(e.value.amount_total),1)]),_:1}),f("div",ue,[r[0]||(r[0]=f("div",{class:"section-title"},"明细",-1)),a(m,null,{default:P(()=>[(C(!0),S(I,null,U(e.value.lines_ids,i=>(C(),W(o,{key:i.name,title:i.name,value:i.total},null,8,["title","value"]))),128))]),_:1})])])}}},_e=M(de,[["__scopeId","data-v-4564b9eb"]]);export{_e as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{v as P,t as S,n as d,c as B,G as u,F as $,J as j,I as D,j as _}from"./requests-BjSuBLH6.js";import{d as C,r as f,v as F,c as N,w as R,f as U,o as G,n as z,g as n,x as J,y as M,m as b}from"./index-B9xdXrdx.js";const[O,i]=B("image"),T={src:String,alt:String,fit:String,position:String,round:Boolean,block:Boolean,width:d,height:d,radius:d,lazyLoad:Boolean,iconSize:d,showError:S,errorIcon:P("photo-fail"),iconPrefix:String,showLoading:S,loadingIcon:P("photo"),crossorigin:String,referrerpolicy:String,decoding:String};var V=C({name:O,props:T,emits:["load","error"],setup(r,{emit:g,slots:c}){const t=f(!1),a=f(!0),o=f(),{$Lazyload:l}=F().proxy,x=N(()=>{const e={width:u(r.width),height:u(r.height)};return $(r.radius)&&(e.overflow="hidden",e.borderRadius=u(r.radius)),e});R(()=>r.src,()=>{t.value=!1,a.value=!0});const v=e=>{a.value&&(a.value=!1,g("load",e))},m=()=>{const e=new Event("load");Object.defineProperty(e,"target",{value:o.value,enumerable:!0}),v(e)},h=e=>{t.value=!0,a.value=!1,g("error",e)},y=(e,s,I)=>I?I():n(D,{name:e,size:r.iconSize,class:s,classPrefix:r.iconPrefix},null),E=()=>{if(a.value&&r.showLoading)return n("div",{class:i("loading")},[y(r.loadingIcon,i("loading-icon"),c.loading)]);if(t.value&&r.showError)return n("div",{class:i("error")},[y(r.errorIcon,i("error-icon"),c.error)])},k=()=>{if(t.value||!r.src)return;const e={alt:r.alt,class:i("img"),decoding:r.decoding,style:{objectFit:r.fit,objectPosition:r.position},crossorigin:r.crossorigin,referrerpolicy:r.referrerpolicy};return r.lazyLoad?J(n("img",b({ref:o},e),null),[[M("lazy"),r.src]]):n("img",b({ref:o,src:r.src,onLoad:v,onError:h},e),null)},w=({el:e})=>{const s=()=>{e===o.value&&a.value&&m()};o.value?s():z(s)},L=({el:e})=>{e===o.value&&!t.value&&h()};return l&&j&&(l.$on("loaded",w),l.$on("error",L),U(()=>{l.$off("loaded",w),l.$off("error",L)})),G(()=>{z(()=>{var e;(e=o.value)!=null&&e.complete&&!r.lazyLoad&&m()})}),()=>{var e;return n("div",{class:i({round:r.round,block:r.block}),style:x.value},[k(),E(),(e=c.default)==null?void 0:e.call(c)])}}});const H=_(V);export{H as I};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

+13
View File
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/yuthon_base/static/webh5/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vite App</title>
<script type="module" crossorigin src="/yuthon_base/static/webh5/assets/index-B9xdXrdx.js"></script>
</head>
<body>
<div id="app"></div>
</body>
</html>